//
//  Button+extensions.swift
//  WeiBo
//
//  Created by 尹琼 on 2017/5/3.
//  Copyright © 2017年 尹琼. All rights reserved.
//

import UIKit
// MARK: - 创建button
extension UIButton {
    
    /// 创建button的方法
    ///
    /// - Parameters:
    ///   - title: 主题
    ///   - imageName: 主题图片名
    ///   - taget: 响应链
    ///   - other: 其他属性设置的闭包
    ///   - action: 响应事件
    convenience init(title: String?, imageName:String?, taget: AnyObject?, action: Selector) {
        self.init(type: .custom)
        //设置默认的几个属性，如需要更改可以在other闭包中进行
        addTarget(taget, action: action, for:
            .touchUpInside)
        guard let title = title  else {
            // 无文字
            guardImageName(name: imageName)
            sizeToFit()
            return
        }
        // 有文字
        guardImageName(name: imageName)
        setTitle(title, for: .normal)
        sizeToFit()
        
    }

    /// button 图片的设置
    ///
    /// - Parameters:
    ///   - name: 图片名
    ///   - other: 其他属性处理的闭包
    private func guardImageName(name:String?)  {
        guard let name = name else {
            return
        }
        //有图片
        setImage(UIImage(named: name), for: .normal)
        // 这里的高亮图片名后缀，根据实际情况 使用如下代码，“+”后图片名后缀可以根据情况更改
        setImage(UIImage(named: name + "_highlighted"), for: .highlighted)
    }
}
